/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hojadetrabajo6;
import java.util.Random;
/**
 * este programa crea la clase ingreso 
 * @author RAUL
 */
public class Ingreso {
 
    
    private int entrad;
    
    private int estados;
    
    private int transaccion;
    
    private int total;
    
    private Random random;
    
    private int caja;
    
    private int esperar;
    
    /**
     * este metodo asigna valores iniciales 
     */
    public Ingreso(){
       
        estados = 0;
        total = 0;
         random = new Random();
    }
    
    /**
     *  coloca el tiempo de entrada del cliente 
     * @param ent este es el parametro del tiempo que debe ser menor al tiempo de cierre del banco
     */
    public void setEntrada(int entrada){
        if(entrada <= 480){
        entrad =  entrada ;
        }
        else{
           entrad = 0; 
            }
          
    }
    /**
     * este metodo toma el tiempo ingresado osea el itmepo guardado de entrada de un cliente
     * @return retorna el valor del tiempo de entrada 
     */
    public int getEntrada(){
        return entrad;
    }
    
    /**
     * este metodo le asigna un numero random al tiempo que se demorara un cliente en hacer su transaccion
     */
    public void setTransaccion(){
        transaccion = random.nextInt(30)+1;
    }
    
    /**
     * este metodo retorna este tiempo que se demora en la transaccion
     * @return el tiempo que se tarda en la transaccion 
     */
    public int getTransaccion(){
        return transaccion;
    }
    
    /**
     * este metodo coloca a un cliente en una caja especifica 
     * @param c es el numero de caja 
     */
    public void setCaja(int caj){
        caja = caj;
    }
    
    /**
     * este metodo retorna en la caja que fue atendido 
     * @return regresa la caja en que se atendio el cliente 
     */
    public int getCaja(){
        return caja;
    }
    
    /**
     * este metodo asigna un valor el cual es del que tiene que esperar si esta en la cola 
     * @param t es el valor del tiempo que debe esperar en la cola 
     */
    public void setEspera(int tiempo){
        esperar =  tiempo;
    }
    
  
    
    
    /**
     * este metodo obtiene el estado dependiendo de donde en que se encuentre el cliente 
     * @param E es un entero del dependiendo del evento que sea 
     */
    public void setEstado(int Estado){
        estados =  Estado;
    }
    
    /**
     * este metodo toma el estado dependiendo del evento
     * @return el estado de lso eventos 
     */
    public int getEstado(){
        return estados;
    }
    
    /**
     * este metodo suma todos los tiempos y lo muestra en un total
     */
    public void setTotal(){
        total = esperar+transaccion+entrad;
    }
    
    /**
     * este metodo adquiere el valor del total del tiempo de cada cliente 
     * @return el total del tiempo que paso el cliente en el banco 
     */
    public int getTotal(){
        return total;
    }
    
   
    
}

    

